Getting Started
Guidelines, hints and resources for those who are starting out with Lisp.

Getting Going with Common Lisp

Take a look at Portacle, a portable and multiplatform development environment: SBCL, Quicklisp, Emacs, Slime and Git all pre-configured. Download and use, no installation needed.

and add paredit.el, Parinfer and/or another plugin to edit parentheses even more easily.

DIY Development Setup

Take a look at Emacs4CL if you want to set up Emacs and configure it to use SLIME and Paredit yourself. This is useful if you do not want to use a quick starter pack like Portacle but instead want to learn how to set Emacs up yourself with SLIME and Paredit. This project provides a small starter ~/.emacs file to get you started quickly. It also comes with a detailed line-by-line explanation of every line of code in the ~/.emacs file so that you can understand every step of how you are turning a vanilla Emacs into a Common Lisp development environment.

Getting a Lisp

Alternative ways to download and install a Common Lisp implementation.

Some resources for bootstrapping a useful Lisp environment on various platforms:

Books and tutorials

Experienced programmers

Read Peter Seibel's excellent book Practical Common Lisp, available for free online, or in dead-tree form. This is especially a good book for anyone familiar with programming in other languages and wants to learn Lisp for real-world use.

Novice programmers

If you are new to programming in general, these books may be better choices to begin with:

Other Online Tutorials.

IRC channels

There are numerous IRC channels on the Libera Chat server to help people with Common Lisp.

  • #clschool - A channel devoted specifically for helping Common Lisp newbies get started.
  • #lispcafe - A more laid-back version of #lisp, used for socialization and banter.
  • #lispgames - Conversation about writing games in various lisps, mostly Common Lisp.
  • #lispweb - Conversation about writing web applications in Common Lisp.
  • #lisp - For on-topic technical discussion of lisp programs, issues, and implementations.

There are other channels for discussing other languages such as

#clojure for clojure, or #scheme for scheme, or #emacs for emacs lisp.

Others

Check out other Lisp books and online tutorials

References

  • the Common Lisp Hyperspec (CLHS) is a hypertext version of the standard with extensive indexing. Quick symbol lookup in the Hyperspec is available in SLIME.
  • The Common Lisp Quick Reference is a condensed Common Lisp pocket reference available for free and suitable for printing.
  • CLtL2 is outdated, but contains more useful descriptions of format and loop than the Hyperspec.

Libraries

Other hints

Learn about Common Lisp coding conventions and naming conventions.

Cosman246's guide for Setting Up CL

This is for setting up CL, not learning how to use it
  1. Get a working implementation. Preferably SBCL
  2. Get Emacs
  3. Get Quicklisp
  4. Load SBCL from bash
  5. (load "/path/to/quicklisp.lisp")
  6. (quicklisp-quickstart:install)
  7. (ql:add-to-init-file)
  8. (ql:quickload "quicklisp-slime-helper")
  9. If necessary, edit your ~/.emacs and insert the following line:
    (setq inferior-lisp-program "sbcl")
    where you can substitute the name of the program that invokes your implementation of choice for sbcl